package com.gobang.common.exception;

import com.gobang.common.constant.ErrorCode;

/**
 * 业务异常类
 * 
 * 用于处理业务逻辑中的异常情况
 * 
 * @author Gobang Team
 * @version 1.0.0
 */
public class BusinessException extends BaseException {

    private static final long serialVersionUID = 1L;

    /**
     * 构造函数（仅消息）
     */
    public BusinessException(String message) {
        super(message);
    }

    /**
     * 构造函数（错误码和消息）
     */
    public BusinessException(Integer code, String message) {
        super(code, message);
    }

    /**
     * 构造函数（错误码枚举）
     */
    public BusinessException(ErrorCode errorCode) {
        super(errorCode);
    }

    /**
     * 构造函数（错误码枚举和自定义消息）
     */
    public BusinessException(ErrorCode errorCode, String customMessage) {
        super(errorCode.getCode(), customMessage);
    }

    /**
     * 构造函数（错误码枚举和原因）
     */
    public BusinessException(ErrorCode errorCode, Throwable cause) {
        super(errorCode, cause);
    }

    /**
     * 构造函数（消息和原因）
     */
    public BusinessException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 构造函数（错误码、消息和原因）
     */
    public BusinessException(Integer code, String message, Throwable cause) {
        super(code, message, cause);
    }

}

